/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package simulateurs.model.monde;

import java.util.ArrayList;
import simulateurs.model.automate.Automate;
import simulateurs.model.scheduler.Timer;

/**
 *
 * @author Jah
 */
public class Arene implements I_Updatable{
    private double hauteur;
    private double largeur;
    private boolean tailleAbsolue;
    private String imageFond=null;
    private String musiqueFond=null;
    private ArrayList<Balle> listeBalles=null;
    private ArrayList<Equipe> listeEquipes=null;
    private ArrayList<But> listeButs=null;
    private ArrayList<Automate> automates=null;
    private boolean finDuJeu = false;
	private Timer timer=new Timer();
	private int tempsLimite=0;
    
    /*
     * 
     * ATTENTION, la largeur et la hauteur de l'arene ne sont pas encore pris en compte dans l'affichage
     * 
     */
    
    // constructeur par defaut pour parser java xml
    public Arene(){
        this.tailleAbsolue=false;
        this.hauteur=600;
        this.largeur=800;
    }
    
    public Arene(ArrayList<Equipe> listeEquipes, ArrayList<Balle> listeBalles, ArrayList<But> listeButs){
        this.tailleAbsolue=false;
        this.listeEquipes=listeEquipes;
        this.listeBalles=listeBalles;
        this.listeButs=listeButs;
        // en attendant de prendre en compte
        this.hauteur=600;
        this.largeur=800;
    }
    
    public Arene(double largeur, double hauteur, ArrayList<Equipe> listeEquipes, ArrayList<Balle> listeBalles, ArrayList<But> listeButs){
        this.tailleAbsolue=true;
        this.listeEquipes=listeEquipes;
        this.listeBalles=listeBalles;
        this.listeButs=listeButs;
         // en attendant de prendre en compte
        this.hauteur=600;
        this.largeur=800;
    }
    
    public double getHauteur() {
        return hauteur;
    }
    
    public String getImageFond() {
        return imageFond;
    }
    
    public double getLargeur() {
        return largeur;
    }
    
    public ArrayList<Balle> getListeBalles() {
        return listeBalles;
    }
    
    public ArrayList<But> getListeButs() {
        return listeButs;
    }
    
public String getMusiqueFond() {
        return musiqueFond;
    }
    
    public boolean isTailleAbsolue() {
        return tailleAbsolue;
    }
    
    public ArrayList<Automate> getAutomates() {
        return automates;
    }
    
    public ArrayList<Equipe> getListeEquipes() {
        return listeEquipes;
    }
    
    public void setHauteur(double hauteur) {
        this.hauteur = hauteur;
    }
    
    public void setImageFond(String imageFond) {
        this.imageFond = imageFond;
    }
    
    public void setLargeur(double largeur) {
        this.largeur = largeur;
    }
    
    public void setListeBalles(ArrayList<Balle> listeBalles) {
        this.listeBalles = listeBalles;
    }
    
    public void setListeButs(ArrayList<But> listeButs) {
        this.listeButs = listeButs;
    }
    
    public void setlisteEquipes(ArrayList<Equipe> listeEquipes) {
        this.listeEquipes = listeEquipes;
    }
    
    public void setMusiqueFond(String musiqueFond) {
        this.musiqueFond = musiqueFond;
    }
    
    public void setAutomates(ArrayList<Automate> automates) {
        this.automates = automates;
    }
    
    public void setListeEquipes(ArrayList<Equipe> listeEquipes) {
        this.listeEquipes = listeEquipes;
    }

    public boolean isFinDuJeu() {
        return finDuJeu;
    }

    public void setFinDuJeu(boolean finDuJeu) {
        this.finDuJeu = finDuJeu;
    }

	public Timer getTimer() {
		return timer;
	}

	public int getTempsLimite() {
		return tempsLimite;
	}
    
    
    
    @Override
    public void update(String action) {
        
    }
}
